Ext.onReady(function() {
	Ext.lib.Ajax.defaultPostHeader += '; charset=utf-8';// 处理ie提交中文乱码问题
	// 定义一个checkBox
	var sm = new Ext.grid.CheckboxSelectionModel({
		singleSelect : true
	});
	// 选中记录是否高亮显示
	sm.handleMouseDown = Ext.emptyFn;
	// 定义一个ColumnModel，表头中有N列
	var cm = new Ext.grid.ColumnModel([sm, {
		header : 'ID',
		dataIndex : 'id'
	}, {
		header : '流程编码',
		dataIndex : 'fscode'
	}, {
		header : '流程名称',
		dataIndex : 'fsname'
	}

	]);
	/*
	 * ArrayReader ds要对应两个部分：proxy和reader。proxy告诉我们从哪里获得数据，reader告诉我们如何解析这个数据。
	 * Ext.data.MemoryProxy，它是专门用来解析js变量的。你可以看到，我们直接把data作为参数传递进去了。
	 */
	var ds = new Ext.data.Store({
		baseParams : {
			trancode : '13130'
		},
		proxy : new Ext.data.HttpProxy({
			url : '../' + WebServiceUrl
		}),
		reader : new Ext.data.JsonReader({
			totalProperty : 'totalProperty',
			root : 'root'
		}, [{
			name : 'id'
		}, {
			name : 'fscode'
		}, {
			name : 'fsname'
		}])
	});

	/* 装配 */
	/*
	 * 注意：Ext.grid.Grid的第一个参数是渲染的id， 对应在html里应该有一个 <div id="grid"></div>的东西，这样grid才知道要把自己画到哪里。
	 * 创建完grid以后，还要用grid.render()方法，让grid开始渲染，这样才能显示出来。
	 */

	cm.defaultSortable = true; // 设置列可排序

	var grid = new Ext.grid.GridPanel({
		el : 'grid',
		ds : ds,
		cm : cm,
		loadMask : {
			msg : '正在加载数据，请稍候。。。'
		},
		// 定义分页
		bbar : new Ext.PagingToolbar({
			pageSize : App.pageSize,
			store : ds,
			displayInfo : true,
			displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
			emptyMsg : "没有记录"
		}),
		sm : sm,
		title : "流程管理",
		iconCls : 'icon-grid',
		// inline toolbars
		tbar : [{
			text : '添加',
			tooltip : '添加',
			handler : doAdd,
			iconCls : 'add'
		}, '-', {
			text : '刷新',
			tooltip : '刷新',
			handler : doRefurbish,
			iconCls : 'search'
		}],
		height : Ext.get("grid").getHeight(),
		bodyStyle : 'width:100%',
		stripeRows : true

	});

	grid.on('rowclick', function(grid, t) {
		if (sm.isSelected(t))
			sm.deselectRow(t);
		else
			sm.selectRow(t, true);
	});
	grid.render();
	ds.load({
		params : {
			start : 0,
			limit : App.pageSize
		}
	});
	/** 添加* */
	function doAdd() {
		new App.AddFlowstatuscode(ds)
	};
	/* 查询函数 */
	function doRefurbish() {
		ds.baseParams = {
			trancode : '13131'
		};
		ds.load({
			params : {
				start : 0,
				limit : App.pageSize
			}
		});
	}
})
